package org.edu.modules.kwgl.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.edu.modules.kwgl.config.ConfigConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.edu.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 成绩
 * @Author: jeecg-boot
 * @Date:   2021-05-12
 * @Version: V1.0
 */
@Data
@TableName("ve_jw_chengji")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="成绩对象", description="成绩")
public class VeJwChengji implements Serializable {
    private static final long serialVersionUID = 1L;

	/**自增长主键ID*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "自增长主键ID")
    private Integer id;
	/**教学任务ID*/
	@Excel(name = "教学任务ID", width = 15)
    @ApiModelProperty(value = "教学任务ID")
    private Integer jxrwid;
	/**考试形式ID（数据字典 1=考试，2=考查）*/
	@Excel(name = "考试形式ID（数据字典 1=考试，2=考查）", width = 15)
    @ApiModelProperty(value = "考试形式ID（数据字典 1=考试，2=考查）")
//    @Dict(dicCode = "kwgl_kaoshi_ksxs")
    private Integer ksxsid;
    @TableField(exist = false)
    private String ksxsidDictText;
	/**学制ID*/
	@Excel(name = "学制ID", width = 15)
    @ApiModelProperty(value = "学制ID")
    private Integer xzid;
	/**是否有考试（1=有考试，0=无考试）*/
	@Excel(name = "是否有考试（1=有考试，0=无考试）", width = 15)
    @ApiModelProperty(value = "是否有考试（1=有考试，0=无考试）")
//    @Dict(dicCode = "kwgl_kaoshi_have")
    private Integer hasexam;
    @TableField(exist = false)
    private String hasexamDictText;
	/**考试ID*/
	@Excel(name = "考试ID", width = 15)
    @ApiModelProperty(value = "考试ID")
//    @Dict(dictTable = "ve_jw_kaoshi",dicText = "name",dicCode = "id")
    private Integer ksid;
    @TableField(exist = false)
    private String ksidDictText;
	/**考试日期*/
	@Excel(name = "考试日期", width = 15)
    @ApiModelProperty(value = "考试日期")
    private String ksrq;
	/**院系ID*/
	@Excel(name = "院系ID", width = 15)
    @ApiModelProperty(value = "院系ID")
//    @Dict(dictTable = "ve_base_faculty",dicText = "YXMC",dicCode = "id")
    private Integer falid;
    @TableField(exist = false)
    private String falidDictText;
	/**专业ID*/
	@Excel(name = "专业ID", width = 15)
    @ApiModelProperty(value = "专业ID")
//    @Dict(dictTable = "ve_base_specialty",dicText = "ZYMC",dicCode = "id")
    private Integer specid;
    @TableField(exist = false)
    private String specidDictText;
	/**年级ID*/
	@Excel(name = "年级ID", width = 15)
    @ApiModelProperty(value = "年级ID")
//    @Dict(dictTable = "ve_base_grade",dicText = "NJMC",dicCode = "id")
    private Integer gradeid;
    @TableField(exist = false)
    private String gradeidDictText;
	/**学期ID*/
	@Excel(name = "学期ID", width = 15)
    @ApiModelProperty(value = "学期ID")
//    @Dict(dictTable = "ve_base_semester",dicText = "XQMC",dicCode = "id")
    private Integer semid;
    @TableField(exist = false)
    private String semidDictText;
	/**课程ID*/
	@Excel(name = "课程ID", width = 15)
    @ApiModelProperty(value = "课程ID")
//    @Dict(dictTable = "ve_jw_kecheng",dicText = "KCMC",dicCode = "id")
    private Integer kcid;
    @TableField(exist = false)
    private String kcidDictText;
	/**学生ID*/
	@Excel(name = "学生ID", width = 15)
    @ApiModelProperty(value = "学生ID")
    private Integer stuid;
	/**学生用户ID*/
	@Excel(name = "学生用户ID", width = 15)
    @ApiModelProperty(value = "学生用户ID")
    private Integer userid;
	/**学号*/
	@Excel(name = "学号", width = 15)
    @ApiModelProperty(value = "学号")
    private String xh;
	/**学生姓名*/
	@Excel(name = "学生姓名", width = 15)
    @ApiModelProperty(value = "学生姓名")
    private String xm;
	/**行政班ID*/
	@Excel(name = "行政班ID", width = 15)
    @ApiModelProperty(value = "行政班ID")
//    @Dict(dictTable = "ve_base_banji",dicText = "XZBMC",dicCode = "id")
    private Integer xzbid;
    @TableField(exist = false)
    private String xzbidDictText;
	/**教学班ID*/
	@Excel(name = "教学班ID", width = 15)
    @ApiModelProperty(value = "教学班ID")
//    @Dict(dictTable ="ve_jw_jxb",dicText = "BJMC",dicCode = "id" )
    private Integer jxbid;
    @TableField(exist = false)
    private String jxbidDictText;
	/**考试日期（时间）*/
	@Excel(name = "考试日期（时间）", width = 15)
    @ApiModelProperty(value = "考试日期（时间）")
    private String ksrqsj;
	/**平时成绩*/
	@Excel(name = "平时成绩", width = 15)
    @ApiModelProperty(value = "平时成绩")
    private BigDecimal pscj;
	/**分数类考试成绩*/
	@Excel(name = "分数类考试成绩", width = 15)
    @ApiModelProperty(value = "分数类考试成绩")
    private BigDecimal fslkscj;
	/**等级类考试成绩*/
	@Excel(name = "等级类考试成绩", width = 15)
    @ApiModelProperty(value = "等级类考试成绩")
    private String djlkscj;
	/**课程成绩（根据教学任务设置的成绩比例计算出的最终成绩）*/
	@Excel(name = "课程成绩（根据教学任务设置的成绩比例计算出的最终成绩）", width = 15)
    @ApiModelProperty(value = "课程成绩（根据教学任务设置的成绩比例计算出的最终成绩）")
    private BigDecimal kccj;
	/**课程等级成绩码*/
	@Excel(name = "课程等级成绩码", width = 15)
    @ApiModelProperty(value = "课程等级成绩码")
//    @Dict(dicCode = "kwgl_level")
    private String kcdjcjm;
    @TableField(exist = false)
    private String kcdjcjmDictText;
	/**及格分数（根据课程的考试分数*60%=及格分数）*/
	@Excel(name = "及格分数（根据课程的考试分数*60%=及格分数）", width = 15)
    @ApiModelProperty(value = "及格分数（根据课程的考试分数*60%=及格分数）")
    private BigDecimal jgcj;
	/**是否及格（1=及格，0=不及格，根据课程成绩，跟及格分数的比较，判断是否及格）*/
	@Excel(name = "是否及格（1=及格，0=不及格，根据课程成绩，跟及格分数的比较，判断是否及格）", width = 15)
    @ApiModelProperty(value = "是否及格（1=及格，0=不及格，根据课程成绩，跟及格分数的比较，判断是否及格）")
//    @Dict(dicCode = "kwgl_ispass")
    private Integer sfjg;
    @TableField(exist = false)
    private String sfjgDictText;
	/**任课教师ID*/
	@Excel(name = "任课教师ID", width = 15)
    @ApiModelProperty(value = "任课教师ID")
    private Integer teacherid;
	/**任课教师工号*/
	@Excel(name = "任课教师工号", width = 15)
    @ApiModelProperty(value = "任课教师工号")
    private String rkjsgh;
	/**成绩录入人ID*/
	@Excel(name = "成绩录入人ID", width = 15)
    @ApiModelProperty(value = "成绩录入人ID")
    private Integer recorduserid;
	/**成绩录入人号*/
	@Excel(name = "成绩录入人号", width = 15)
    @ApiModelProperty(value = "成绩录入人号")
    private String cjlrrh;
	/**成绩录入日期时间（原日期时间合并）*/
	@Excel(name = "成绩录入日期时间（原日期时间合并）", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "成绩录入日期时间（原日期时间合并）")
    private Date cjlrrqsj;
	/**审核状态（0=待审核，1=通过，2=不通过）*/
	@Excel(name = "审核状态（0=待审核，1=通过，2=不通过）", width = 15)
    @ApiModelProperty(value = "审核状态（0=待审核，1=通过，2=不通过）")
//    @Dict(dicCode = "kwgl_auditStatus")
    private Integer auditstatus;
    @TableField(exist = false)
    private String auditstatusDictText;
	/**审核人用户ID*/
	@Excel(name = "审核人用户ID", width = 15)
    @ApiModelProperty(value = "审核人用户ID")
    private Integer audituserid;

	/**审核时间*/
	@Excel(name = "审核时间", width = 15)
    @ApiModelProperty(value = "审核时间")
    private Integer audittime;
	/**审核不通过的原因*/
	@Excel(name = "审核不通过的原因", width = 15)
    @ApiModelProperty(value = "审核不通过的原因")
    private Integer audittid;

    @TableField(exist = false)
    private String audittidText;
	/**终端ID*/
	@Excel(name = "终端ID", width = 15)
    @ApiModelProperty(value = "终端ID")
    private Integer terminalid;


    /**是否加入名单补考**/
    @TableField(exist = false)
    private Integer isJoinBk;

    /**
     * 学号或者姓名
     */
    @TableField(exist = false)
    private String xhOrXm;

}
